package com.wisecoach.gatewayplus.event;

import java.util.EventListener;

/**
 * {@link FilteredBlockEvent} 的监听器
 * {@code @author:} wisecoach
 * {@code @date:} 2023/3/3 下午7:06
 * {@code @version:} 1.0.0
 */

public interface FilteredBlockEventListener extends EventListener {

    /**
     * 监听器的名称
     */
    String getName();

    /**
     * 显示要监听的channel名
     */
    String getChannelName();

    /**
     * 取得监听器恢复类型
     */
    ListenerResumeType getListenerResumeType();

    /**
     * 对区块的处理
     */
    void onEvent(FilteredBlockEvent event);

    /**
     * 取得下一个要监听的区块number
     */
    long getNext();

    /**
     * 设置监听器开始监听的区块下标
     * @param startNumber 开始区块下标
     */
    void startAt(long startNumber);
}
